package cn.iocoder.yudao.module.engine.model.aichat;

import cn.iocoder.yudao.module.engine.service.core.aichat.client.ILLMChatClient;
import cn.iocoder.yudao.module.infra.llm.model.LLMMessage;
import cn.iocoder.yudao.module.resource.api.model.AudioToneDTO;
import cn.iocoder.yudao.module.resource.api.model.CosplayDTO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.Instant;
import java.util.List;

@Builder
@NoArgsConstructor
@AllArgsConstructor
@Data
public class AIChatReq {
    private Instant websocketStart;

    private Long userId;
    private String gameMatchId;
    private String wsSessionId;

    private CosplayDTO role;
    private AudioToneDTO tone;
    private Integer storyId;

    private String chatId;
    private ILLMChatClient chatClient;
    private String userText;
    private List<LLMMessage> historyMessages;

    private String ttsName;

    @Builder.Default
    private Boolean returnAudio = true;

    @Builder.Default
    private String returnAudioFormat = "mp3";

}
